Date: Thu, 07 Nov 1996 19:07:56 GMT
Server: NCSA/1.5
Content-type: text/html
Last-modified: Mon, 02 Sep 1996 15:47:54 GMT
Content-length: 9489

<html>
<head>
<title> David Wood's Home Page </title>
</head>
<body>
<hr>
<h1> David Wood </A> (<!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><A HREF="http://www.cs.wisc.edu/cgi-bin/finger?david">david@cs.wisc.edu)</A> </h1>
<br>
<!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><IMG SRC="http://www.cs.wisc.edu/~pubs/faculty-info/wood.gif">
<br>
<br>
Associate Professor of Computer Science<br>
and Electrical and Computer Engineering<br>
Department of Computer Sciences<br>
University of Wisconsin - Madison<br>
1210 West Dayton Street<br>
Madison, WI 53706  USA<br><br>
david@cs.wisc.edu<br>
Phone: 608-263-7463<br>
Secretary: 265-4892 (Julie Fingerson or Thea Sklenar)<br>
Departmental Office: 262-1204<br>
Fax:  608-262-9777
<p>
<h3>Research Interests:</h3>
<ul>
<li> <!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><a href="http://www.cs.wisc.edu/~arch/uwarch/">
Computer architecture, </a>
especially memory system design for uniprocessors and multiprocessors.
<li> Design, implementation,  and programming of parallel computers.
<li> Operating systems for parallel computers.
<li> Performance evaluation tools and techniques, especially 
for memory system analysis.
<li> VLSI design, including low power design for portable computers.
</ul>
<p>
<h3>Research Projects:</h3>
<ul>
<li> <!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><a href="http://www.cs.wisc.edu/~wwt">Wisconsin Wind Tunnel (WWT)</a>
<li> <!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><a href="http://www.cs.wisc.edu/~larus/warts.html">Memory System Performance Tools (WARTS)</a>
</ul>
<p>
<h3>Education:</h3>
<ul>
<li> Ph.D. University of California, Berkeley, 1990
<li> B.S.  University of California, Berkeley, 1981
</ul>
<p>
<h3>Current Graduate Students:</h3>
<ul>
<li> <!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><a href="http://www.cs.wisc.edu/~falsafi/falsafi.html">Babak Falsafi</a>
<li> <!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><a href="http://www.cs.wisc.edu/~stever/stever.html">Steve Reinhardt</a>
<li> <!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><a href="http://www.cs.wisc.edu/~toonen/toonen.html">Brian Toonen</a>
</ul>
<p>
<h3>Recently Graduated Students:</h3>
<ul>
<li> <!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><a href="http://www.cs.wisc.edu/~hyder/hyder.html">Rahmat Hyder</a> (Intel)
<li> <!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><a href="http://www.cs.wisc.edu/~alvy/alvy.html">Alvy Lebeck</a> (Duke University)
<li> <!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><a href="http://www.cs.wisc.edu/~pfile/pfile.html">Rob Pfile</a> (Sun Microsystems)
<li> <!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><a href="http://www.cs.wisc.edu/~markc/markc.html">Mark Callaghan</a> (Informix)
</ul>
<p>
<h3>Courses I Teach:</h3>
<ul>
<li>Fall 1996: 
<!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><a href="http://www.cs.wisc.edu/~cs552-2">
CS/ECE 552 - Introduction to Computer Architecture</a>
<p>
<li>
<!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><a href="http://www.cs.wisc.edu/~arch/uwarch/courses/cs354.html">
CS/ECE 354 - Machine Organization and Programming</a>
<li>
<!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><a href="http://www.cs.wisc.edu/~arch/uwarch/courses/cs552.html">
CS/ECE 552 - Introduction to Computer Architecture</a>
<li>
<!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><a href="http://www.cs.wisc.edu/~arch/uwarch/courses/cs752.html">
CS/ECE 752 - Advanced Computer Architecture I</a>
<li>
<!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><a href="http://www.cs.wisc.edu/~arch/uwarch/courses/cs757.html">
CS/ECE 757 - Advanced Computer Architecture II</a>
</ul>
<p>

<p>
<HR>
<H2><a name="papers"> Selected Recent Papers </A></H2>
<UL>

<P>
<!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><A HREF="ftp://ftp.cs.wisc.edu/wwt/isca96_dcpld.ps">
<cite>
Decoupled Hardware Support for Distributed Shared Memory
</cite>
</A>
Steven K. Reinhardt, Robert W. Pfile, and
David A. Wood,
ACM/IEEE International Symposium on Computer Architecture (ISCA), 
May 1996

<P>
<!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><A HREF="ftp://ftp.cs.wisc.edu/wwt/isca96_cni.ps">
<cite>
Coherent Network Interfaces for Fine-Grain Communication
</cite>
</A>
Shubhendu S. Mukherjee and Babak Falsafi and Mark D. Hill and
David A. Wood,
ACM/IEEE International Symposium on Computer Architecture (ISCA), 
May 1996

<P>
<!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><A HREF="ftp://ftp.cs.wisc.edu/wwt/ics96_synch.ps">
<cite>
Synchronization Hardware for Networks of Workstations: Performance vs. Cost
</cite>
</A>
Rahmat S. Hyder and David A. Wood,
ACM/IEEE International Conference on Supercomputing (ICS), 
May 1996

<P>
<!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><A HREF="ftp://ftp.cs.wisc.edu/wwt/isca95_dsi.ps">
<cite>
Dynamic Self-Invalidation: Reducing Coherence Overhead in Shared-Memory Multiprocessors
</cite>
</A>
Alvin R. Lebeck and
David A. Wood,
ACM/IEEE International Symposium on Computer Architecture (ISCA), 
June 1995

<P>
<!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><A HREF="ftp://ftp.cs.wisc.edu/wwt/sigmetrics95_am.ps">
<cite>
Active Memory: A New Abstraction For Memory System Simulation
</cite>
</A>
Alvin R. Lebeck and
David A. Wood,
ACM SIGMETRICS
May 1995

<p>
<!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><A HREF="ftp://ftp.cs.wisc.edu/wwt/ipps95_netsim.ps">
<cite>Accuracy vs. Performance in Parallel Simulation of Interconnection Networks</cite></A>,<br>
Douglas C. Burger and David A. Wood.<br>
In the proceedings of the 9th International Parallel Processing Symposium, April, 1995.<br>

<P>
<!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><A HREF="ftp://ftp.cs.wisc.edu/wwt/sc94_protocols.ps">
<CITE>
Application-Specific Protocols for User-Level Shared Memory,
</CITE>
</A>
Babak Falsafi, Alvin Lebeck, Steven Reinhardt, Ioannis Schoinas,
Mark Hill, James Larus, Anne Rogers, and David Wood,
In Proceedings of Supercomputing '94.

<P>
<!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><A HREF="ftp://ftp.cs.wisc.edu/wwt/asplos6_fine_grain.ps">
<CITE>
Fine-grain Access Control for Distributed Shared Memory,
</CITE>
</A>
Ioannis Schoinas, Babak Falsafi, Alvin Lebeck, Steven Reinhardt,
James Larus, and David Wood,
Proceedings of ASPLOS VI.

<P>
<!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><!WA25><A HREF="ftp://ftp.cs.wisc.edu/wwt/isca94_typhoon.ps">
<CITE>
Tempest and Typhoon: User-Level Shared Memory,
</CITE>
</A>
Steven Reinhardt, James Larus, and David Wood,
Proceedings of Int'l Symposium on Computer Architecture, 1994.

<P>
<!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><!WA26><A HREF="http://www.cs.wisc.edu/~alvy/papers/cprof.ps">
<cite>
Cache Profiling and the SPEC Benchmarks: A Case Study,
</cite>
</A>
Alvin R. Lebeck and
David A. Wood,
pages 15-26,
IEEE COMPUTER,
October 1994

<P>
<!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><!WA27><A HREF="ftp://ftp.cs.wisc.edu/wwt/tocs93_csm.ps">
<CITE>
Cooperative Shared Memory: Software and Hardware for Scalable Multiprocessors,
</CITE>
</A>
Mark D. Hill, James R. Larus, Steven K. Reinhardt, David A. Wood,
ACM Transactions on Computer Systems (TOCS), November 1993.

<P>
<!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><!WA28><A HREF="ftp://ftp.cs.wisc.edu/wwt/annobib.ps">
<CITE>
The Wisconsin Wind Tunnel Project: An Annotated Bibliography,
</CITE>
</A>
Mark D. Hill, James R. Larus, David A. Wood,
Computer Architecture News, v. 22, n. 5, December 1994.
On-line version revised frequently.

<P>
<!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><!WA29><A HREF="ftp://ftp.cs.wisc.edu/markhill/Papers/can93_warts.ps">
<CITE>
Wisconsin Architectural Research Tool Set (WARTS),
</CITE>
</A>
Mark D. Hill, James R. Larus, Alvin R. Lebeck, Madhusudhan Talluri,
David A. Wood,
Computer Architecture News (CAN), August 1993.
</UL>
<HR>

<hr>
<h2> Research Summary </h2> 

My main research goals lie in developing cost-effective computer
architectures that take advantage of rapidly changing technologies.  My
research program has two major thrusts:  
<ul>
<li> evaluating the performance,
feasibility, and correctness of new architectures, and
<li> developing new tools and techniques to facilitate this evaluation.
</ul>
Currently, this research focusses on the following three areas:
<ul>
<li> multi-paradigm multiprocessors,
which efficiently integrate shared-memory, message-passing, and hybrid
programming paradigms,
<li> a virtual prototyping system, which exploits the similarites
of an existing parallel machine to simulate a hypothetical parallel machine,
<li> and, techniques for understanding and tuning program performance.
</ul>

Recent results include developing a new interface---called
Tempest---between user-level protocol handlers and system-supplied
mechanisms. Tempest provides the mechanisms that allow programmers,
compilers, and program libraries to implement and use message passing,
transparent shared memory, and hybrid combinations of the two.  Tempest
mechanisms are low-overhead messages, bulk data transfer, virtual
memory management, and fine-grain access control.  The most novel
mechanism---fine-grain access control---allows user software to tag
blocks (e.g., 32 bytes) as read-write, read-only, or invalid, so the
local memory can be used to transparently cache remote data.<br><br>

We are exploring alternative ways to support this interface.
The first---called Typhoon---is
a proposed hardware
platform that implements the Tempest mechanisms with a fully-programmable,
user-level processor in the network interface.  A reverse-translation
table (RTLB) invokes the network processor when it detects a fine-grain
access fault.
We have simulated Typhoon on the Wisconsin Wind Tunnel and found that
a transparent shared-memory protocol running on Typhoon performs
comparably +/- 30% to an
all-hardware Dir{N}NB cache-coherence protocol for five shared-memory
programs.<br><br>

We have also developed a new memory system simulation method that
optimizes the common case---cache hits---significantly reducing
simulation time.
Fast-Cache tightly integrates reference generation and simulation by
providing the abstraction of tagged memory blocks: each reference
invokes a user-specified function depending upon the reference type and
memory block state. The simulator controls how references are processed
by manipulating memory block states, specifying a special NULL function
for no action cases.  Fast-Cache implements this abstraction by using
binary-rewriting to perform a table lookup before each memory
reference. On a SPARCStation 10, Fast-Cache simulation times are two to
three times faster than a conventional trace-driven simulator that
calls a procedure on each memory reference; simulation times are only
three to six times slower than the original, un-instrumented program.
We are also investigating using Fast-Cache's binary rewriting techniques
to support the Tempest interface on existing hardware platforms.

<hr>
<address> Last Updated: July 11, 1996 </address>
<hr>

</body>
</html>
